package com.zlm.app.partner.service;

import com.zlm.common.dto.JsonResultDto;
import com.zlm.common.dto.userEmp.OrgParamsDto;
import com.zlm.common.dto.userEmp.PositionParamsDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * 调用zlm-user-emp内部服务
 * @Author: duyufu
 * @Date: 2019/7/10 9:39
 */
@FeignClient(value = "zlm-user-emp",fallback = UserEmpFallback.class)
@Service
public interface UserEmpService {

    /**
     * 发送验证码
     * @param mobile
     * @return
     */
    @GetMapping("/activation/sendActivation")
    JsonResultDto sendActivation(@RequestParam("mobile") String mobile);

    /**
     * 校验验证码
     * @param activationCode
     * @param mobile
     * @return
     */
    @GetMapping("/activation/checkActivation")
    JsonResultDto checkActivation(@RequestParam("activationCode") String activationCode, @RequestParam("mobile") String mobile);

    /**
     * 获取轮播图
     * @param type
     * @return
     */
    @GetMapping("/banner/getSysBannerByType")
    JsonResultDto getSysBannerByType(@RequestParam("type") Integer type);

    /**
     * 获取职位
     * @param positionParamsDto
     * @return
     */
    @PostMapping("/position/getPositionList")
    JsonResultDto getPositionList(PositionParamsDto positionParamsDto);

    /**
     * 分页获取明星企业
     * @param orgParamsDto
     * @return
     */
    @PostMapping("/org/queryStarEnterprise")
    JsonResultDto queryStarEnterprise(OrgParamsDto orgParamsDto);

    /**
     * 分页获取附近
     * @param pageNumber
     * @param pageSize
     * @param lng
     * @param lat
     * @return
     */
    @GetMapping("/emp/queryLocalEmp")
    JsonResultDto queryLocalEmp(@RequestParam("pageNumber") Integer pageNumber,
                                @RequestParam("pageSize") Integer pageSize,
                                @RequestParam("lng") Double lng,
                                @RequestParam("lat") Double lat);

    /**
     * 获取人才教育经历
     * @param empId
     * @return
     */
    @GetMapping("/empUserEducation/queryUserEducation")
    JsonResultDto queryUserEducation(@RequestParam("empId") Integer empId);

    /**
     * 获取人才工作经历
     * @param empId
     * @return
     */
    @GetMapping("/empUserExperience/queryUserExperience")
    JsonResultDto queryUserExperience(@RequestParam("empId") Integer empId);
}
